package cn.yitun.chat.yitunserverimcore.general.common.service.api;

import cn.yitun.chat.yitunservercommonlib.dataentity.po.userchat.WordsFilterInfo;
import cn.yitun.chat.yitunservercommonlib.util.WordsParser;
import cn.yitun.chat.yitunserverimbase.dao.userchat.WordsFilterDao;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;
import java.util.Vector;

/**
 * 聊天内容中敏感词汇过滤。
 * 
 * @author: yitun
 * @date: 2016年8月15日 下午3:02:50
 */
@Service
public class WordsFilterBaseService {
	WordsParser wordsParser = new WordsParser();

	List<WordsFilterInfo> wordsFilterList = null;
	@Resource
	WordsFilterDao wordsFilterDAO;

	/**
	 * 敏感词汇过滤
	 * 
	 * @author: yitun
	 * @createDate: 2016年8月19日 下午3:28:49
	 * @update: yitun
	 * @updateDate: 2016年8月19日 下午3:28:49
	 */
	public String wordsFilter(String text) {
		if (null == text || "".equals(text)) {
			return text;
		}
		if (null == wordsFilterList) {
			wordsFilterList = wordsFilterDAO.list(null);
			wordsParser.clear();
			for (WordsFilterInfo wf : wordsFilterList) {
				wordsParser.addFilterKeyWord(wf.getWords(), wf.getLevel());
			}
		}
		Vector<Integer> levelSet = new Vector<Integer>();
		return wordsParser.parse(text, levelSet);
	}
}
